---
title: 将你的 Astro 站点部署到 Azion
description: 如何使用 Azion 将你的 Astro 站点部署到网络。
sidebar:
  label: Azion
type: deploy
logo: azion
supports: ['ssr', 'static']
i18nReady: true
---
import { Steps } from '@astrojs/starlight/components';

你可以在 [Azion](https://console.azion.com/) 上部署 Astro 项目，Azion 是前端开发人员协作和部署静态网站（JAMstack）和 SSR 网站的平台。

## 先决条件

首先，你会需要：

- 一个 [Azion 帐户](https://www.azion.com/)。如果还没有的话，可以注册一个免费帐户。
- 将你的应用程序代码存储在 [GitHub](https://github.com/) 存储库中。
- 安装 [Azion CLI](https://www.azion.com/en/documentation/products/azion-cli/overview/) 以获取更快的项目配置和部署速度。

## 如何使用 Azion 控制台仪表盘进行部署

要开始构建，请按照下列步骤操作：

<Steps>
1. 访问 [Azion 控制台](https://console.azion.com)。
2. 在首页，点击 **\+ Create（创建）** 按钮。
   - 这将打开一个模态框，其中包含创建新应用程序和资源的选项。
3. 选择 **Import from Github（从 Github 导入）** 选项并点击卡片。
   - 此操作将打开设置页面。
4. 用 Azion 链接你的 Github 账户。
   - 将出现一个要求授权的弹出窗口。
5. 选择你想导入的那个 Github 存储库。
6. 配置构建设置：
   - **Framework preset:（框架预设）** 选择适当的框架（例如：`Astro`）。
   - **Root Directory:（根目录）** 它指的是代码所在的目录。你的代码必须位于根目录，而不是子目录。该字段中出现一个 ./ 符号，表明它是根目录。
   - **Install Command:（安装命令）** 编译设置以进行生产的命令。构建命令通过脚本执行。例如：对于 NPM 包，使用 npm run build 或 npm install。
7. 点击 **Save and Deploy（保存并部署）**。
8. 使用 **Azion Real-Time Metrics** 监控部署并验证你的站点是否安全。
</Steps>

## 如何使用 Azion 命令行部署静态站点

<Steps>

1. **安装 Azion 命令行：**  
     
   - 下载并安装 [Azion 命令行](https://www.azion.com/en/documentation/products/azion-cli/overview/)，以便更轻松地管理和部署。

   :::caution
   Azion CLI 目前不支持本地 Windows 环境。但是，你可以通过适用于 Linux 的 Windows 子系统 (WSL) 在 Windows 上使用它。按照 [WSL 安装指南](https://learn.microsoft.com/zh-cn/windows/wsl/install) 在 Windows 计算机上设置 Linux 环境。
   :::

2. **验证命令行：**  
     
   - 运行以下命令以使用你的 Azion 帐户来验证你的命令行。

   ```bash
   azion login
   ```

3. **设置你的应用程序：**  
     
   - 使用以下命令来初始化和配置你的项目：

   ```bash
   azion init
   ```  

4. **建立你的 Astro 项目：**  
     
   - 在本地运行构建命令：

   ```bash
   azion build
   ```

5. **部署你的静态文件：**  
     
   - 使用 Azion 命令行部署静态文件：

   ```bash
   azion deploy
   ```
</Steps>

本指南对部署静态应用程序进行了概述。

## 使用 Azion 命令行启用本地开发

要使预览正常工作，你必须执行以下命令：

```bash
azion dev
```

初始化本地开发服务器后，应用程序将完成 `build（构建）` 过程。

```bash 
Building your Edge Application. This process may take a few minutes
Running build step command:
...
```

然后，当构建完成后，会提示访问应用程序：

```bash
[Azion Bundler] [Server] › ✔  success   Function running on port http://localhost:3000 
```

## 故障排除

### Node.js 运行时 API

当使用 NPM 包的项目无法构建，并显示错误消息，例如 `[Error] Could not resolve "XXXX. The package "XXXX" wasn't found on the file system but is built into node.`：

这就意味着你正在使用或导入的包与 Azion 的运行时 API 不兼容。

如果你当时选择了直接导入 Node.js 运行时 API，请参阅 [Azion Node.js 兼容性](https://www.azion.com/en/documentation/products/azion-edge-runtime/compatibility/node/)，了解如何解决此问题的详细步骤。

而如果你要导入一个包含 Node.js 运行时 API 的包，请向该包的作者了解它们是否支持 `node:*` 导入语法。如果没有，那么你可能需要寻找一个替代包。
